﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using System.Windows.Forms;

namespace GiangDay
{
    class DB
    {
        public SqlConnection conn = new SqlConnection("Data Source=localhost\\SQLEXPRESS;Initial Catalog=GIANGDAY;User ID=sa;Password=12345;");
        
        //Mở kết nối
        public bool Open()
        {
           try
           {
               conn.Open();
           }                 
           catch(SqlException){
              
               return false;
           }
           return true;
        }

        //Đóng kết nối
        public bool Close()
        {
            try
            {
                conn.Close();
            }
            catch (Exception)
            {
                return false;
            }
            return true;
        }
        
        //Kiểm tra lỗi. 
            //Trước khi login: Type=0;
            //Sau khi login  : Type=1;
                //1:Không lỗi, 2: Không kết nối được tới server, 3:Tài khoản đã bị xóa, 4: Bị thay đổi mật khẩu, 5: Bị xóa quyền Admin
        public int realtime() {
            if (!Open())
            {                
                MessageBox.Show("Kết nối Server không thành công");
                Close();
                return 2;
            }           
            Close();
            return 1;
        }
        public int realtime(DataRow giaovien) 
        {           
            //Lấy thông tin giáo viên mới        
            DataRow giaovien_refresh = info_giaovien(giaovien["USERNAME"].ToString().Trim());
            if (giaovien_refresh == null)
                return 3;
            if (giaovien["PASSWORD"].ToString() != giaovien_refresh["PASSWORD"].ToString())
                return 4;
            if (giaovien["QUYEN"].ToString().Trim() == "1" && giaovien_refresh["QUYEN"].ToString().Trim() != "1")
                return 5;
            return 1;
            
        }

        //Login
        public bool Login(string username, string matkhau)
        {
            if (!Open())
                return false;
            SqlDataAdapter adap = new SqlDataAdapter("SELECT USERNAME, PASSWORD FROM GIAO_VIEN WHERE USERNAME='" + username + "'", conn);
            DataTable dt = new DataTable();
            adap.Fill(dt);
            if (dt.Rows.Count == 0)
            {
                Close();
                return false;
            }
            if (dt.Rows[0]["PASSWORD"].ToString().Equals(matkhau))
            {
                Close();
                return true;
            }

            Close();
            return false;
        }

        //Kiểm tra tồn tại
        public bool ktra_tontai(string value, string colum, string table) {
            Open();          
            DataTable dt = new DataTable();
            SqlDataAdapter adap = new SqlDataAdapter("SELECT * from " + table + " WHERE " + colum + "='" + value + "'", conn);
            adap.Fill(dt);
            Close();
            if (dt.Rows.Count > 0)
                return true;
            return false;
        }

        //Trả về Giáo viên type datarow
        public DataRow info_giaovien(string username)
        {
            Open();
            DataTable dt = new DataTable();
            SqlDataAdapter adap = new SqlDataAdapter("SELECT * from GIAO_VIEN WHERE USERNAME='" + username + "'", conn);
            adap.Fill(dt);
            Close();
            if (dt.Rows.Count==0)          
                return null;           
            return dt.Rows[0];

        }
        //Thay Pass
        public void changePass(string user, string pass)
        {
            //Cap Nhat Lai last ID   
            Open();
            SqlCommand com = new SqlCommand("UPDATE  GIAO_VIEN SET PASSWORD='" + pass + "' WHERE USERNAME='" + user + "'", conn);
            com.ExecuteNonQuery();
            Close();
        }
    }

}
